package ace.module.oauth2.server.core.impl.authentication.ace.handler;

import ace.cmp.core.model.R;
import ace.module.oauth2.server.api.model.dto.ext.Oauth2AceAuthResultDetailDto;
import ace.module.oauth2.server.core.impl.authentication.ace.Oauth2AceAuthenticationToken;

/**
 * .
 *
 * @author caspar
 */
public interface Oauth2AceAuthenticationHandler {

  /**
   * 内部认证处理器.
   *
   * @param token 准备认证的token
   * @return 认证结果
   */
  R<Oauth2AceAuthResultDetailDto> authentication(Oauth2AceAuthenticationToken token);

}
